package com.service.gzp;

import com.entity.Userinfo;
import com.util.gzp.AjaxResponse;
import org.springframework.beans.factory.annotation.Autowired;

/**
 * ClassName: UserService
 * Package: com.service.gzp
 *
 * @author: guanzepeng
 * @Date: 2021/4/5 17:33 星期一
 * @Description: 进行登录的校验业务层接口
 */
public interface UserinfoService {

	/**
	 * 查询是否存在该用户
	 *
	 * @param uname 传入用户名
	 * @return 如果成功返回token如果失败, 返回500
	 */
	AjaxResponse getUserLogin(String uname, String upass);

	/**
	 * 查询所有的用户,带分页,以及姓名的模糊查询
	 *
	 * @param uname    用户姓名
	 * @param pageNum  分页
	 * @param pageSize 分页
	 * @return 返回数据
	 */
	AjaxResponse getUserList(String uname, Integer pageNum, Integer pageSize);


	/**
	 * 软删除用户数据
	 *
	 * @param flag 传入true为删除,false为保留
	 * @param uid  传入用户ID辨识用户
	 * @return 返回成功失败
	 */
	AjaxResponse deleteUser(boolean flag, Integer uid);

	/**
	 * 修改用户密码
	 *
	 * @param uid    传入用户ID辨识用户
	 * @param pwd    传入密码
	 * @param newPwd 传入新密码
	 * @return 返回成功失败
	 */
	AjaxResponse updatePwd(Integer uid, String pwd, String newPwd);

	/**
	 * 添加用户以及给用户授予权限
	 *
	 * @param userinfo 传入用户账号密码
	 * @param rid      传入权限ID
	 * @return 返回成功失败
	 */
	AjaxResponse insertUser(Userinfo userinfo, Integer rid);

	/**
	 * 退出登录
	 *
	 * @return 返回成功失败
	 */
	AjaxResponse checkOut();

	/**
	 * 查询用户名
	 * @return 返回用户名
	 */
	AjaxResponse getName();

}
